ASP.NET Core 2.0入门

PostgreSQL的安装与配置

作者:陈广 日期:2018-6-6


PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,版本 4.2 为基础的对象关系型数据库管理系统(ORDBMS)。经过十几年的发展,PostgreSQL 是世界上可以获得的最先进的开放源码的数据库系统,它提供了多版本并行控制,支持几乎所有 SQL 构件(包括子查询,事务和用户定义类型和函数)。官网地址为:https://www.postgresql.org/。官网中针对每个版本都有详细的文档。PostgreSQL 10 版本的文档为 3311 页,太可怕了!

CentOS 7 下安装PostgreSQL

由于我的服务器使用的是 CentOS 7.3 64位,所以本文针对此版本操作系统讲解 PostgreSQL 10的安装,本文编写时,PostgreSQL最新的稳定版本是10。

安装 RPM

首先打开网址:https://yum.postgresql.org/repopackages.php。找到对应的 PostgreSQL 版本及操作系统,如下图所示:

在找到的选项中单击鼠标右键,选择【复制链接地址】 将 RPM 包的链接地址复制到剪贴板。

以 root 模式进入 CentOS 7,输入yum install命令,并将刚才复制的链接粘贴至命令后面,然后回车,如下图所示:

输入:y,然后回车,安装完毕。

安装 PostgreSQL

输入如下命令:

yum install -y postgresql10-server postgresql10-contrib

这里需要注意:postgresql后面的数字是数据库版本号,请按实际情况输入相应的版本号,如果是 9.6 版本则替换为96

安装完毕后会出现如下图面:

接下来需要初始化 PostgreSQL 数据库方能使用,输入如下命令:

cd /usr/pgsql-10/bin

进入到 bin 目录,注意输入相应版本号。然后输入ls命令查看此文件夹下的文件,如下图所示: 注意 postgresql-10-setup 文件,我们将使用它来初始化数据库。

输入如下命令:

/usr/pgsql-10/bin/postgresql-10-setup initdb

注意其中postgresql-10-setup是我们刚才找到的文件名。完成后如下图所示:

启动和关闭数据库

启动 PostgreSQL 使用命令:

systemctl start postgresql-10

注意使用相应版本号。

设置 PostgreSQL 开机启动可使用命令:

systemctl enable postgresql-10

关闭 PostgreSQL 使用命令:

systemctl stop postgresql-10

这里先使用启动命令启动 PostgreSQL 命令,以执行之后的操作。

修改默认 PostgreSQL 用户密码

PostgreSQL 在安装过程中会自动创建一个默认用户,用户名为:postgres。密码为空。我们可以使用这个用户名登录并操作数据库,第一步还是先给数据库加上一个密码吧。

使用如下命令切换至默认用户:

su - postgres

接下来登录数据库:

psql -U postgres

修改 postgres 用户的密码:

postgres=# ALTER USER postgres with encrypted password '123456';

这里我们把密码改为了123456。注意,最后的分号不要漏了。

输入\q并回车,退出数据库。 输入exit并回车,退出用户。

操作过程如下图所示:

配置远程访问

首先进入配置文件所在文件夹:

cd /var/lib/pgsql/10/data

ls一下,如下图所示:

postgresql.conf 配置文件

【postgresql.conf】就是配置文件。

用 vi 打开此配置文件:

vi postgresql.conf

接下来在 vi 中按冒号:进入命令模式,输入命令:

/listen_addresses

然后按回车,搜索到 listen_addresses 选项,如下图: 这里#号后面的全部为注释。

  • listen_addresses:表示监听的 IP,设置为*表示对所有 IP 开放。默认为localhost,表示只对本机开放。如果想仅对部分 IP 开放,则将多个 IP 写入,并用,(逗号+空格)隔开。
  • post:表示端口号
  • max_connections:表示最大连接数

这里我们先将 listen_addresses 改为'*'。按i键进入 vi 的编辑模式,进行更改。先将localhost改为*,然后去掉 listen_addresses 前面的#号。更改后的效果如下: 编辑完后,按 esc 键退出编辑模式,按:进入命令模式,输入wq并回车,以保存所做修改。需要注意,现在处于学习模式,可以用*,生产状态下千万不要这么设置。

pg_hba.conf 配置文件

不要退出刚才的目录,想要远程访问,还需要设置另一个文件:

vi pg_hba.conf

找到# IPv4 local connections:,在下方加一行设置:

host    all             all             0.0.0.0/0               md5

注意长段空格用的是Tab符。添加后的效果如下:

设置完后需要重启数据库以使设置生效:

systemctl restart postgresql-10.service

至此,我们已经可以远程访问此数据库了。

;

© 2018 - IOT小分队文章发布系统 v0.3